import keras
from keras import layers

# ----------------- 构建神经网络做分类训练 -------------

model = keras.Sequential([
    # Flatten(input_shape=(输入的特征值的个数,))
    layers.Flatten(input_shape=(2,)),
    # 分类问题的激活函数最好选择relu，该激活函数可以稳定控制梯度下降
    layers.Dense(10,activation="relu"), # 隐藏层
    layers.Dense(10,activation="relu"), # 隐藏层
    # 全连接层 最终走向分类的数目
    layers.Dense(2,activation="softmax")
])

model.compile(
    # SGD 优化器 对于分类问题，梯度下降慢，需要增大学习率
    # optimizer=keras.optimizers.SGD(learning_rate=0.01),
    # 多分类、卷积问题等等，
    optimizer=keras.optimizers.Adam(learning_rate=0.05),
    # MSE 均方差一般只能用于回归问题（求解一个值，多个值）
    # loss=keras.losses.MSE, # 损失率
    # binary_crossentropy 只能用于分类问题。
    loss=keras.losses.binary_crossentropy,
    # accuracy 准确率
    metrics=["acc"]
)
